SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
CREATE PROCEDURE [dbo].[SP_TTPROC_INTE_U92]    
/*---------------------------------------------------------*/                                  
/*---Empresa              : OFISIS S.A.                  --*/                                  
/*---Cliente              : OFISIS                     --*/                                  
/*---Sistema              : Tesoreria                    --*/                                  
/*---M©dulo               : Empresa                      --*/                                  
/*---Programa             : Cancelacion de Documentos    --*/                                  
/*---Script               : ttproc_i.sql                 --*/                                  
/*---Nombre SP            : SP_TTPROC_INTE_I92       --*/                                  
/*---Desarrollado por     : Andres Soria          --*/                                  
/*---Fecha Creaci©n       : 11/10/2011                   --*/                                  
/*---Base Datos           : Microsoft Sql Server         --*/                                  
/*---Versi©n              : 2005                         --*/                                  
/*---Invoca a SP          :                              --*/                                  
/*---------------------------------------------------------*/                                  
/*---------------------------------------------------------*/                                
/*---Modificado 1 por     :         --*/                                
/*---Fecha Modificaci©n   :                     --*/                                 
/*---Detalle Modificaci©n :         --*/                                
/*---              --*/                                
/*---------------------------------------------------------*/                                           
/*---Comentarios                                         --*/                                  
/*---                                                    --*/                                  
/*---                                                    --*/                                  
/*---------------------------------------------------------*/                                  
/*---------------------------------------------------------*/                                  
/*---Drop Proc SP_TTPROC_INTE_I92                        --*/                                   
/*---Grant Execute on SP_TTPROC_INTE_I92 to public       --*/                                   
/*---                    
  Execute SP_TTPROC_INTE_I92 '01', 'OFISIS', 'CJ000001', '', '001', 2011, 10, '2011-04-01', '00600142', 'S'     
  
 EXEC SP_TTPROC_INTE_U92 '01', 'OFISIS', '001', '', '', 2011, 5, '2011-05-01', '00600003','S'  
                           
 --*/                                  
/*---------------------------------------------------------*/                       
@ISCO_EMPR    TD_VC_002 ,                      
@ISCO_USUA_MODI  TD_VC_008,                               
@ISPA_0001   TD_VC_020 , /* Codigos de prov,bnco,caja,etc.. */                                  
@ISPA_0002   TD_VC_020 , /* Numero cnta(Caso Banco u otros)  */                                  
@ISPA_0003   TD_VC_020 , /* Numero Comprobantes */                                  
@INPA_ANNO   INTEGER ,/* Parametro AÏo  */                                  
@INPA_MESE   INTEGER ,/* Parametro Mes  */                                  
@IDPA_FECH   TD_DT_001 , /* Parametro Fecha  */                                  
@ISNU_ASTO   TD_VC_020,                                  
@ISST_INTE   TD_VC_001                       
                      
as                      
BEGIN                      
                      
DECLARE                      
@VSCO_MONE_DEFA VARCHAR(3),                      
@VSCO_MONE_EXTR VARCHAR(3),                      
@VSCO_OPER_ACRE VARCHAR(3),                      
@VSCO_OPRC_CNTB VARCHAR(3),                      
@VSNU_AMAR VARCHAR(10),                      
@VSCO_MONE VARCHAR(3),               
@VSCO_TIPO_OPER VARCHAR(3),      
@VSTI_CAMB VARCHAR(3),        
@VSTI_ORIG VARCHAR(1),        
@VSSI_MVTO_CNTB VARCHAR (3) ,                  
@VSCO_PROV   VARCHAR (20),                  
@VSTI_AUXI  VARCHAR (1),                  
@VSNO_AUXI  VARCHAR (20)                  
                      
--CREANDO LA TEMPORAL                      
CREATE TABLE #TXMVTO_CNTB(                      
 CO_EMPR VARCHAR(2) NOT NULL,                      
 NU_CNTB_EMPR INT NOT NULL,                      
 CO_UNID_CNTB VARCHAR(3) NOT NULL,                      
 CO_OPRC_CNTB VARCHAR(3) NOT NULL,                      
 NU_ANNO INT NOT NULL,                      
 NU_MESE INT NOT NULL,                      
 NU_ASTO VARCHAR(10) NOT NULL,                      
 NU_SECU INT  NULL,                      
 FE_ASTO_CNTB DATETIME NOT NULL,                      
 CO_CNTA_EMPR VARCHAR(20) NULL,                      
 TI_AUXI_EMPR VARCHAR(1) NULL,                      
 CO_AUXI_EMPR VARCHAR(20) NULL,                      
 TI_DOCU VARCHAR(3) NULL,                      
 NU_DOCU VARCHAR(50) NULL,                      
 FE_DOCU DATETIME NULL,                      
 FE_DOCU_VENC DATETIME NULL,                      
 TI_CAMB VARCHAR(3) NOT NULL,                      
 CO_MONE VARCHAR(3) NOT NULL,                      
 FA_CAMB NUMERIC (15,6) NOT NULL DEFAULT ((1000)),                      
 FA_CAMB_DIAR NUMERIC (15,6) NOT NULL,                      
 TI_OPER VARCHAR(3) NOT NULL,                      
 IM_MVTO_ORIG NUMERIC (16,4) NOT NULL DEFAULT ((0)),                      
 IM_MVTO_CNTB NUMERIC (16,4) NOT NULL DEFAULT ((0)),                      
 DE_GLOS VARCHAR(100) NOT NULL,                      
 SI_MVTO_CNTB VARCHAR(3) NOT NULL,                      
 ST_IMPR_CHEQ VARCHAR(1) NOT NULL DEFAULT ('N'),                      
 ST_GEST VARCHAR(1) NOT NULL DEFAULT ('N'),                      
 ST_REDO VARCHAR(1) NOT NULL DEFAULT ('N'),                      
 CO_TIPO_OPER VARCHAR(3) NULL,                      
 IM_MVTO_RETE NUMERIC (16,4) NULL DEFAULT ((0)),                      
 ST_IMPR_RETE VARCHAR(1) NOT NULL DEFAULT ('N'),                      
 PO_DIST NUMERIC (9,4) NOT NULL DEFAULT ((1000)),                      
 ST_CANC_DOCU VARCHAR(1) NULL DEFAULT ('N'),                      
 ST_DIFE_MAYO VARCHAR(1) NULL DEFAULT ('N'),                      
 ST_DIFE_CAMB VARCHAR(1) NULL DEFAULT ('N'),                      
 CO_USUA_CREA VARCHAR(20) NOT NULL,                      
 FE_USUA_CREA DATETIME NOT NULL,                      
 CO_USUA_MODI VARCHAR(20) NOT NULL,                      
 FE_USUA_MODI DATETIME NOT NULL,                      
 NU_CONT INT NOT NULL)                      
                      
CREATE TABLE #TTINTE_TESO                                
 (NU_SECU        INT           NULL,  NU_QUIE_REPO   INT           NULL, FE_ASTO_CNTB   DATETIME      NULL,                                 
  FE_DOCU_CNTB   DATETIME      NULL,  CO_CNTA_EMPR   VARCHAR(10)   NULL, DE_CNTA_EMPR   VARCHAR(50)   NULL,                                
  TI_AUXI_EMPR   VARCHAR(1)    NULL,  CO_AUXI_EMPR   VARCHAR(20)   NULL, NO_AUXI        VARCHAR(100)  NULL,                                
  TI_DOCU        VARCHAR(03)   NULL,  NU_DOCU        VARCHAR(20)   NULL, TI_DOCU_GUIN   VARCHAR(03)   NULL,                                   
  NU_DOCU_GUIN   VARCHAR(20)   NULL,  CO_MONE        VARCHAR(03)   NULL, FA_CAMB_DIAR   NUMERIC(9,4)  NULL,                                 
  TI_OPER        VARCHAR(3)    NULL,  IM_MVTO_ORIG   NUMERIC(16,4) NULL, IM_MVTO_CNTB   NUMERIC(16,4) NULL,                                  
  DE_GLOS        VARCHAR(100)  NULL,  CO_ORDE_SERV   VARCHAR(20)   NULL, NU_CORR_COMP   VARCHAR(10)   NULL,                                
  CO_AUXI_DETA   VARCHAR(20)   NULL,  NO_AUXI_DETA   VARCHAR(100)  NULL)                           
                      
--Obtengo el Codigo de la Moneda                      
SELECT                       
  @VSCO_MONE_DEFA = CO_MONE_DEFA,                      
  @VSCO_MONE_EXTR = CO_MONE_EXTR,        
  @VSTI_CAMB      = TI_CAMB,        
  @VSTI_ORIG      = TI_ORIG        
                    
FROM TMPARA_TESO                      
WHERE CO_EMPR=@ISCO_EMPR              
                    
SELECT @VSCO_TIPO_OPER = CO_TIPO_OPER  
FROM TTAMAR_DOPA                    
WHERE CO_EMPR = @ISCO_EMPR                    
AND  CO_UNID_CONC = @ISPA_0001                    
AND  NU_ASTO = @ISNU_ASTO                    
AND  FE_ANUL = @IDPA_FECH                    
  
           
                  
--Obtengo el tipo de Operacion contable                      
SELECT DISTINCT @VSCO_OPRC_CNTB = CO_OPRC_CNTB FROM TDTIPO_OPER WHERE CO_TIPO_OPER = @VSCO_TIPO_OPER                      
                    
                     
--Seteo el Tipo de cambio                      
--SELECT @VSTI_CAMB = 'PAC'                      
SELECT @VSSI_MVTO_CNTB = 'APR'                      
                      
--Obtenemos los registros de las facturas a pagarse de la cuenta de la 42XXX     
  
--Obtene_OPER = @VSCO_TIPO_OPER mos los registros de las facturas a pagar CPA                      
INSERT INTO #TXMVTO_CNTB(                      
CO_EMPR ,NU_CNTB_EMPR,CO_UNID_CNTB,CO_OPRC_CNTB,                      
NU_ANNO,NU_MESE,NU_ASTO,NU_SECU,FE_ASTO_CNTB,CO_CNTA_EMPR,TI_AUXI_EMPR,CO_AUXI_EMPR,                      
TI_DOCU,NU_DOCU,FE_DOCU,FE_DOCU_VENC,TI_CAMB,CO_MONE,FA_CAMB ,                      
FA_CAMB_DIAR,TI_OPER,IM_MVTO_ORIG,IM_MVTO_CNTB,DE_GLOS,SI_MVTO_CNTB,ST_IMPR_CHEQ,                      
ST_GEST,ST_REDO,CO_TIPO_OPER,ST_IMPR_RETE,                      
PO_DIST,ST_CANC_DOCU,ST_DIFE_MAYO,ST_DIFE_CAMB,CO_USUA_CREA,FE_USUA_CREA,CO_USUA_MODI,FE_USUA_MODI, NU_CONT    
)                      
                      
 SELECT                       
 T1.CO_EMPR, 1,     T1.CO_UNID_CONC,       @VSCO_OPRC_CNTB,      MAX(YEAR(T0.FE_ANUL)),                      
 MAX(MONTH(T0.FE_ANUL)),  '00000'+RIGHT(@ISNU_ASTO,5),1 'NU_SECU',    MAX(T0.FE_ANUL),        MAX(T4.CO_CNTA_EMPR),                       
 CASE WHEN MAX(ISNULL(T5.TI_AUXI_EMPR,'X')) = 'S' THEN MAX(T2.TI_AUXI_DOCU) ELSE NULL END 'TIPO AUXILIAR',                   
 CASE WHEN MAX(ISNULL(T5.TI_AUXI_EMPR,'X')) = 'S' THEN MAX(T2.CO_PROV) ELSE  NULL END 'PROVEEDOR',                       
 CASE WHEN ISNULL(MAX(T5.ST_DOCU_CNTB),'X') = 'S' THEN MAX(T2.CO_TIPO_DOCU) ELSE NULL END 'TIPO DOCUMENTO',                      
 CASE WHEN ISNULL(MAX(T5.ST_DOCU_CNTB),'X') = 'S' THEN MAX(T2.NU_DOCU) ELSE NULL END 'NRO DOCUMENTO',                      
 MAX(T1.FE_EMIS),    MAX(T1.FE_VENC),   'PAC',       MAX(T4.CO_MONE),                
 CASE WHEN MAX(T4.CO_MONE)= @VSCO_MONE_DEFA THEN 1 ELSE         
 (CASE WHEN MAX(T4.CO_MONE)= @VSCO_MONE_EXTR THEN  MAX(T1.FA_TIPO_CAMB) ELSE MAX(T1.FA_CAMB_EXTR) END) END,       
                      
 CASE WHEN MAX(T4.CO_MONE) != @VSCO_MONE_DEFA AND MAX(T4.CO_MONE) != @VSCO_MONE_EXTR THEN MAX(T1.FA_CAMB_EXTR) ELSE MAX(T1.FA_TIPO_CAMB) END ,          
 MAX(T3.TI_MOVI),   MAX(T1.IM_TOTA), CASE WHEN MAX(T4.CO_MONE) != @VSCO_MONE_DEFA THEN dbo.FN_TCFACT_CAMB_Q05(MAX(T4.CO_MONE), @VSCO_MONE_DEFA,                      
 MAX(T0.FE_ANUL), MAX(T1.IM_TOTA), @VSTI_CAMB, @VSTI_ORIG, 'N', @VSCO_MONE_DEFA, @VSCO_MONE_EXTR, MAX(T1.FA_TIPO_CAMB)) ELSE MAX(T1.IM_TOTA) END,                      
 'CANCELACION DE DOCUMENTOS NOTA CONTABLE ',@VSSI_MVTO_CNTB, 'N','N','N',@VSCO_TIPO_OPER,                      
 'N',1 ,'N','N','N',@ISCO_USUA_MODI ,GETDATE(),@ISCO_USUA_MODI, GETDATE(),1                    
 FROM TTAMAR_DOPA T0, TCDOCU_PAGA T1, TDDOCU_PAGA T2, TDTIPO_OPER T3, TMCAJA T4, TMPLAN_EMPR T5                    
 WHERE                       
  T1.CO_EMPR = @ISCO_EMPR                      
 AND T0.CO_UNID_CONC = @ISPA_0001                  
 AND T0.NU_ASTO = @ISNU_ASTO                           
 AND T0.FE_ANUL = @IDPA_FECH                       
 AND T0.CO_TIPO_OPER = @VSCO_TIPO_OPER                                         
 AND T3.NU_CORR = 1                   
 AND T1.CO_EMPR = T2.CO_EMPR                      
 AND T1.CO_UNID_CONC = T2.CO_UNID_CONC           
 AND T1.NU_AMAR = T2.NU_AMAR                       
 AND T1.FE_AMAR = T2.FE_AMAR                      
 AND T1.CO_EMPR = T0.CO_EMPR    
 AND T1.CO_UNID_CONC = T0.CO_UNID_CONC    
 AND T1.NU_AMAR = T0.NU_AMAR    
 AND T1.FE_AMAR = T0.FE_AMAR    
 AND T1.CO_EMPR = T3.CO_EMPR                     
 AND T1.CO_TIPO_OPER = T3.CO_TIPO_OPER                      
 AND T1.CO_EMPR = T4.CO_EMPR                     
 And T1.CO_CAJA = T4.CO_CAJA                    
 AND T4.CO_EMPR = T5.CO_EMPR                     
 And T4.CO_CNTA_EMPR = T5.CO_CNTA_EMPR                    
GROUP BY T1.CO_EMPR, T1.FE_AMAR, T1.NU_AMAR, T1.CO_UNID_CONC          
                      
                
     
                  
INSERT INTO #TXMVTO_CNTB(                      
CO_EMPR ,NU_CNTB_EMPR,CO_UNID_CNTB,CO_OPRC_CNTB,                      
NU_ANNO,NU_MESE,NU_ASTO,NU_SECU,FE_ASTO_CNTB,CO_CNTA_EMPR,TI_AUXI_EMPR,CO_AUXI_EMPR,                      
TI_DOCU,NU_DOCU,FE_DOCU,FE_DOCU_VENC,TI_CAMB,CO_MONE,FA_CAMB,                      
FA_CAMB_DIAR,TI_OPER,IM_MVTO_ORIG,IM_MVTO_CNTB,DE_GLOS,SI_MVTO_CNTB,ST_IMPR_CHEQ,                      
ST_GEST,ST_REDO,CO_TIPO_OPER,ST_IMPR_RETE,                      
PO_DIST,ST_CANC_DOCU,ST_DIFE_MAYO,ST_DIFE_CAMB,CO_USUA_CREA,FE_USUA_CREA,CO_USUA_MODI,FE_USUA_MODI,                      
NU_CONT)                      
                
SELECT                       
 T1.CO_EMPR,  1, T1.CO_UNID_CONC , @VSCO_OPRC_CNTB,  YEAR(T0.FE_ANUL),                      
 MONTH(T0.FE_ANUL), '00000'+RIGHT(@ISNU_ASTO,5), 2 'NU_SECU',  T0.FE_ANUL,       T3.CO_CNTA_EMPR,                       
 T1.TI_AUXI,    T1.CO_PROV,    T1.CO_TIPO_DOCU,     T1.NU_DOCU,       T1.FE_EMIS,                      
 T1.FE_VENC,   'PAC', T1.CO_MONE,               
 CASE WHEN T4.CO_MONE= @VSCO_MONE_DEFA THEN 1 ELSE         
 (CASE WHEN T4.CO_MONE= @VSCO_MONE_EXTR THEN  T1.FA_TIPO_CAMB ELSE T1.FA_CAMB_EXTR END) END,          
CASE WHEN T4.CO_MONE != @VSCO_MONE_DEFA AND T4.CO_MONE != @VSCO_MONE_EXTR THEN T1.FA_CAMB_EXTR ELSE T1.FA_TIPO_CAMB END,                       
 T3.TI_MOVI,    T1.IM_TOTA 'IM_MVTO_ORIG',                 
 CASE WHEN T1.CO_MONE != @VSCO_MONE_DEFA THEN dbo.FN_TCFACT_CAMB_Q05(T1.CO_MONE, @VSCO_MONE_DEFA ,                
 T0.FE_ANUL, T1.IM_TOTA, @VSTI_CAMB, @VSTI_ORIG, 'N', @VSCO_MONE_DEFA, @VSCO_MONE_EXTR,T1.FA_TIPO_CAMB) ELSE T1.IM_TOTA END 'IM_MVTO_CNTB', 'CANCELACION DE DOCUMENTOS NOTA CONTABLE ',    @VSSI_MVTO_CNTB,               
 'N',     'N',        'N',  @VSCO_TIPO_OPER,                    
 'N',       1 ,      'N',        'N',        'N',@ISCO_USUA_MODI ,GETDATE(),@ISCO_USUA_MODI, GETDATE(), 2              
 FROM TTAMAR_DOPA T0 INNER JOIN TCDOCU_PAGA T1 ON    
T1.CO_EMPR = T0.CO_EMPR    
 AND T1.CO_UNID_CONC = T0.CO_UNID_CONC    
 AND T1.NU_AMAR = T0.NU_AMAR    
 AND T1.FE_AMAR = T0.FE_AMAR    
INNER JOIN TMCAJA T4 ON              
 T4.CO_EMPR = T1.CO_EMPR              
 AND T4.CO_CAJA = T1.CO_CAJA                              
 INNER JOIN TDTIPO_OPER T3 ON                       
  T3.CO_EMPR  = T1.CO_EMPR                       
 AND T3.CO_TIPO_OPER = T1.CO_TIPO_OPER                      
 AND T3.CO_MONE  = T1.CO_MONE              
 WHERE T0.CO_EMPR = @ISCO_EMPR                      
 AND T0.CO_UNID_CONC  = @ISPA_0001                   
 AND T0.NU_ASTO  = @ISNU_ASTO                           
 AND T0.FE_ANUL  = @IDPA_FECH                        
 AND T0.CO_TIPO_OPER = @VSCO_TIPO_OPER                                 
                
   
If @ISST_INTE = 'S'            
Begin      
  
  
  INSERT INTO TTINTE_CNDE (CO_EMPR, NU_CNTB_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO,       
NU_MESE, NU_ASTO, NU_SECU, FE_ASTO_CNTB, CO_CNTA_EMPR, TI_AUXI_EMPR, CO_AUXI_EMPR,        
TI_DOCU, NU_DOCU, FE_DOCU, FE_DOCU_VENC, TI_CAMB, CO_MONE, FA_CAMB, FA_CAMB_DIAR,      
TI_OPER, IM_MVTO_ORIG, IM_MVTO_CNTB, DE_GLOS, TI_DOCU_REFE, NU_DOCU_REFE, NO_GIRA, CO_ORDE_SERV,      
SI_MVTO_CNTB,        
CO_UNID_ORIG, CO_OPRC_ORIG, NU_ASTO_ORIG, ST_OTRS,        
CO_USUA_CREA, FE_USUA_CREA,CO_USUA_MODI, FE_USUA_MODI, NU_PROC, CO_TABL_ORIG,      
CO_CLAV_TAOR, CO_TIPO_OPER)                      
                      
  SELECT                       
  CO_EMPR ,NU_CNTB_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO,  
  NU_MESE, NU_ASTO, NU_CONT, FE_ASTO_CNTB, CO_CNTA_EMPR, TI_AUXI_EMPR, CO_AUXI_EMPR,                      
  TI_DOCU, NU_DOCU, FE_DOCU, FE_DOCU_VENC, 'PAC', CO_MONE, FA_CAMB, FA_CAMB_DIAR,  
  TI_OPER,IM_MVTO_ORIG, IM_MVTO_CNTB, DE_GLOS, NULL, NULL, NULL, NULL,  
  SI_MVTO_CNTB,   
  NULL, NULL, NULL, NULL,  
  CO_USUA_CREA,FE_USUA_CREA,CO_USUA_MODI,FE_USUA_MODI, 1, 20,   
  @ISCO_EMPR + @ISNU_ASTO, @VSCO_TIPO_OPER   
  FROM #TXMVTO_CNTB                      
  ORDER BY NU_CONT        
  
END            
  
    
/*------------------------------------- E X T O R N O        
------------------------------------------------------------------------*/            
  
If @ISST_INTE = 'S'            
Begin          
 Update TTINTE_CNDE          
 Set TI_OPER = Case TI_OPER When 'ABO' Then 'CAR' Else 'ABO' End          
  Where TTINTE_CNDE.CO_EMPR = @ISCO_EMPR                
  And TTINTE_CNDE.NU_CNTB_EMPR = 1                
  And TTINTE_CNDE.CO_UNID_CNTB = @ISPA_0001  
  And TTINTE_CNDE.CO_OPRC_CNTB = @VSCO_OPRC_CNTB                
  And TTINTE_CNDE.NU_ANNO      = @INPA_ANNO -- AÏo de la Anulacion          
  And TTINTE_CNDE.NU_MESE      = @INPA_MESE -- Mes de la Anulacion          
  And TTINTE_CNDE.NU_ASTO      =  '00000'+RIGHT(@ISNU_ASTO,5)               
End          
ELSE          
Begin          
 Update #TXMVTO_CNTB          
 Set TI_OPER = Case TI_OPER When 'ABO' Then 'CAR' Else 'ABO' End          
               
End    
  
        
/*---------------------------------------------------------------------------------------------------------------------------       
-*/    
  
 --INSERTAMOS EN LA TXMVTO_CNTB                      
IF @ISST_INTE = 'S'   
BEGIN                      
                      
  INSERT INTO TXMVTO_CNTB (CO_EMPR ,NU_CNTB_EMPR,CO_UNID_CNTB,CO_OPRC_CNTB,                      
  NU_ANNO,NU_MESE,NU_ASTO,NU_SECU,FE_ASTO_CNTB,CO_CNTA_EMPR,TI_AUXI_EMPR,CO_AUXI_EMPR,                      
  TI_DOCU,NU_DOCU,FE_DOCU,FE_DOCU_VENC,TI_CAMB,CO_MONE,FA_CAMB,                      
  FA_CAMB_DIAR,TI_OPER,IM_MVTO_ORIG,IM_MVTO_CNTB,DE_GLOS,SI_MVTO_CNTB,ST_IMPR_CHEQ,                      
  ST_GEST,ST_REDO,CO_TIPO_OPER,ST_IMPR_RETE,                      
  PO_DIST,ST_CANC_DOCU,ST_DIFE_MAYO,ST_DIFE_CAMB,CO_USUA_CREA,FE_USUA_CREA,CO_USUA_MODI,FE_USUA_MODI)                      
                      
  SELECT                       
  T2.CO_EMPR , T2.NU_CNTB_EMPR, T2.CO_UNID_CNTB, T2.CO_OPRC_CNTB,                      
  T2.NU_ANNO, T2.NU_MESE, T2.NU_ASTO, T2.NU_SECU,                      
  T2.FE_ASTO_CNTB, T2.CO_CNTA_EMPR, T1.TI_AUXI_EMPR, T1.CO_AUXI_EMPR,                      
  T1.TI_DOCU, T1.NU_DOCU, T2.FE_DOCU, T2.FE_DOCU_VENC, T2.TI_CAMB, T2.CO_MONE, T2.FA_CAMB,                      
  T2.FA_CAMB_DIAR, T2.TI_OPER, T2.IM_MVTO_ORIG, T2.IM_MVTO_CNTB, T2.DE_GLOS, T1.SI_MVTO_CNTB, T1.ST_IMPR_CHEQ,                      
  T1.ST_GEST, T1.ST_REDO, T1.CO_TIPO_OPER, T1.ST_IMPR_RETE,                      
  T1.PO_DIST, T1.ST_CANC_DOCU, T1.ST_DIFE_MAYO, T1.ST_DIFE_CAMB, T1.CO_USUA_CREA, T1.FE_USUA_CREA, T1.CO_USUA_MODI, T1.FE_USUA_MODI                      
  FROM #TXMVTO_CNTB T1, TTINTE_CNDE T2  
  
 Where T2.CO_EMPR = @ISCO_EMPR     
 And T2.NU_CNTB_EMPR = 1           
 And T2.CO_UNID_CNTB = @ISPA_0001  
 And T2.CO_OPRC_CNTB = @VSCO_OPRC_CNTB  
 And T2.NU_ANNO      = @INPA_ANNO  
 And T2.NU_MESE      = @INPA_MESE  
 And T2.NU_ASTO      = '00000'+RIGHT(@ISNU_ASTO,5)     
 And T1.CO_EMPR =  T2.CO_EMPR   
 And T1.NU_CNTB_EMPR = T2.NU_CNTB_EMPR  
 And T1.CO_UNID_CNTB = T2.CO_UNID_CNTB  
 And T1.CO_OPRC_CNTB = T2.CO_OPRC_CNTB  
 And T1.NU_ANNO      = T2.NU_ANNO       
 And T1.NU_MESE      = T2.NU_MESE       
 And T1.NU_ASTO      = T2.NU_ASTO      
 And T1.NU_SECU      = T2.NU_SECU    
                 
     If @@error <> 0                        
           Begin                        
     Rollback tran                         
    Return                        
     End                        
END   
ELSE                      
          
              
--INSERTAMOS EN LA TEMPORAL                      
 BEGIN                      
  INSERT INTO #TTINTE_TESO (NU_SECU,NU_QUIE_REPO, FE_ASTO_CNTB, FE_DOCU_CNTB, CO_CNTA_EMPR, DE_CNTA_EMPR, TI_DOCU, NU_DOCU,                                
  CO_MONE, FA_CAMB_DIAR, TI_OPER, IM_MVTO_ORIG,IM_MVTO_CNTB, DE_GLOS,CO_AUXI_EMPR, TI_AUXI_EMPR, CO_ORDE_SERV)                        
                      
  SELECT NU_SECU,1,T1.FE_ASTO_CNTB,T1.FE_DOCU,T1.CO_CNTA_EMPR,T2.DE_CNTA_EMPR,                      
        T1.TI_DOCU,T1.NU_DOCU,T1.CO_MONE,T1.FA_CAMB_DIAR,T1.TI_OPER,T1.IM_MVTO_ORIG,T1.IM_MVTO_CNTB,T1.DE_GLOS,                      
        T1.CO_AUXI_EMPR,T1.TI_AUXI_EMPR,NULL                   
  FROM #TXMVTO_CNTB T1                      
        INNER JOIN TMPLAN_EMPR T2 ON T1.CO_EMPR=T2.CO_EMPR AND T1.CO_CNTA_EMPR=T2.CO_CNTA_EMPR                      
  ORDER BY NU_CONT                      
                      
  If @@error <> 0                        
   Begin                        
   Rollback tran                         
   Return                        
  End                        
  SELECT @VSNO_AUXI = NO_AUXI FROM TMAUXI_EMPR                  
  WHERE CO_EMPR = @ISCO_EMPR                  
  AND  TI_AUXI_EMPR = @VSTI_AUXI                  
  AND  CO_AUXI_EMPR = @VSCO_PROV                  
                  
                      
  SELECT NU_SECU, FE_ASTO_CNTB, CO_CNTA_EMPR, DE_CNTA_EMPR, TI_DOCU, NU_DOCU,                                
  CO_MONE, FA_CAMB_DIAR, TI_OPER, IM_MVTO_ORIG,IM_MVTO_CNTB, DE_GLOS, TI_AUXI_EMPR, CO_AUXI_EMPR, @VSNO_AUXI, CO_ORDE_SERV, @ISNU_ASTO                  
  FROM #TTINTE_TESO                  
               
END     
            
/********************************* FIN ***********************************/    
    
  
                               
END                      
----------------------
GO
